package com.haibara.codesubmiteval.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.haibara.codesubmiteval.model.dto.question.QuestionAddRequest;
import com.haibara.codesubmiteval.model.dto.question.QuestionEditRequest;
import com.haibara.codesubmiteval.model.dto.question.QuestionQueryRequest;
import com.haibara.codesubmiteval.model.entity.Question;
import com.haibara.codesubmiteval.model.vo.QuestionVO;


/**
 * @author AiChan
 * @description 针对表【question(题目)】的数据库操作Service
 * @createDate 2023-12-20 13:17:24
 */
public interface QuestionService extends IService<Question> {

    Long addQuestion(QuestionAddRequest questionAddRequest);

    void updateQuestion(QuestionEditRequest questionEditRequest);

    void deleteQuestion(Long questionId);

    Page<Question> pageQueryQuestion(QuestionQueryRequest questionQueryRequest);

    Page<QuestionVO> pageQueryQuestionVO(QuestionQueryRequest questionQueryRequest);

    QuestionVO getQuestionVO(Long id);
}
